package com.leha.mp.core.services;


import com.leha.mp.core.Utils.Page;
import com.leha.mp.core.entity.mybatis.*;
import com.leha.mp.core.entity.vo.ConsultingInfoVO;
import com.leha.mp.core.entity.vo.MsgConsultingVo;
import com.leha.mp.core.entity.vo.VideoSrvVo;
import com.tencent.qcloud.roomservice.webrtc.pojo.Response.CreateRoomRsp;
import com.tencent.qcloud.roomservice.webrtc.pojo.Response.EnterRoomRsp;
import com.tencent.qcloud.roomservice.webrtc.pojo.Response.GetRoomListRsp;

import java.util.HashMap;
import java.util.List;

public interface ConfluenceServices {
    Boolean userPaySuccess(PlOrder order);
    boolean isConsulting(Integer type);
    PlConsulting genConsulting(Integer uid, Integer orderId, PlProduct product, String extraData, Boolean isVip);

    boolean beginPhoneServ(Integer consultingId);

    void endPhone(HashMap<String, String> ret);

    boolean Evaluate(Integer consultingId, Integer star, String impress, String content, Boolean isAnonymous);

    List<PlLabel> getEvaluateLabel();

    VideoSrvVo beginVideoServ(Integer consultingId);
    GetRoomListRsp getRoomList(Integer uid);
    VideoSrvVo userEnterRtcRoom(Integer consultingId);
    Boolean endVideo(Integer tid, Integer consultingId, String roomId);

    Integer saveMsg(PlConsultingMsg plConsultingMsg);

    MsgConsultingVo getConsultingMsg(Integer consultingId, Page page);

    List<ConsultingInfoVO> getUserConsulting(Integer uid, Page page, Integer type, String status);

    boolean recallPhone(Integer consultingId);

    Boolean doctorFinishConsulting(Integer doctorId, Integer consultingId, String report);

    boolean canCancel(Byte status);

    ConsultingInfoVO getConsultingbyId(Integer consultingId);

    boolean genVipRecord(Integer uid, Integer orderId, PlProduct product);
    void updateVip(Integer uid, Integer doctorId, Integer pid);
    void updateDoctorStatics(Integer doctorId);
}
